home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / g__~1 / gplibs15.zoo / outfloat.s < prev    next >
Encoding:
Text File  |  1992-11-13  |  6.4 KB  |  498 lines

  1. #NO_APP
  2. gcc2_compiled.:
  3. .text
  4.     .even
  5. .globl ___outfloat__FdP9streambufciiUlcc
  6. ___outfloat__FdP9streambufciiUlcc:
  7.     link a6,#-40
  8.     moveml #0x3f3c,sp@-
  9.     movel a6@(16),a2
  10.     moveb a6@(23),d5
  11.     movel a6@(28),d6
  12.     movel a6@(32),d2
  13.     moveb a6@(39),a6@(-25)
  14.     moveb a6@(43),a6@(-27)
  15.     moveq #14,d1
  16.     andl d2,d1
  17.     movel d1,a6@(-32)
  18.     subl a3,a3
  19.     movel d2,d1
  20.     andl #256,d1
  21.     movel d1,a6@(-36)
  22.     moveq #0,d7
  23.     moveb d5,d0
  24.     addb #-69,d0
  25.     extw d0
  26.     extl d0
  27.     moveq #34,d1
  28.     cmpl d0,d1
  29.     jcs L165
  30.     addl d0,d0
  31. LI176:
  32.     movew pc@(L176-LI176-2:b,d0:l),d0
  33.     jmp pc@(2,d0:w)
  34. L176:
  35.     .word L169-L176
  36.     .word L167-L176
  37.     .word L171-L176
  38.     .word L165-L176
  39.     .word L165-L176
  40.     .word L165-L176
  41.     .word L165-L176
  42.     .word L165-L176
  43.     .word L165-L176
  44.     .word L165-L176
  45.     .word L165-L176
  46.     .word L165-L176
  47.     .word L165-L176
  48.     .word L165-L176
  49.     .word L165-L176
  50.     .word L165-L176
  51.     .word L165-L176
  52.     .word L165-L176
  53.     .word L165-L176
  54.     .word L165-L176
  55.     .word L165-L176
  56.     .word L165-L176
  57.     .word L165-L176
  58.     .word L165-L176
  59.     .word L165-L176
  60.     .word L165-L176
  61.     .word L165-L176
  62.     .word L165-L176
  63.     .word L165-L176
  64.     .word L165-L176
  65.     .word L165-L176
  66.     .word L165-L176
  67.     .word L168-L176
  68.     .word L166-L176
  69.     .word L171-L176
  70. L166:
  71.     moveq #3,d3
  72.     jra L165
  73. L167:
  74.     moveq #101,d7
  75.     moveq #0,d3
  76.     moveb #103,d5
  77.     jra L165
  78. L168:
  79.     moveq #101,d7
  80.     jra L326
  81. L169:
  82.     moveq #69,d7
  83.     jra L326
  84. L171:
  85.     moveq #69,d7
  86.     cmpb #103,d5
  87.     jne L172
  88.     moveq #101,d7
  89. L172:
  90.     tstl d6
  91.     jne L174
  92.     moveq #1,d6
  93. L174:
  94.     btst #8,d2
  95.     jne L175
  96.     movew #1,a3
  97. L175:
  98.     moveb #103,d5
  99. L326:
  100.     moveq #2,d3
  101. L165:
  102.     pea a6@(-24)
  103.     pea a6@(-20)
  104.     pea a6@(-16)
  105.     movel d6,sp@-
  106.     movel d3,sp@-
  107.     movel a6@(12),sp@-
  108.     movel a6@(8),sp@-
  109.     jbsr _dtoa
  110.     addw #28,sp
  111.     movel d0,a6@(-40)
  112.     movel a6@(-24),d4
  113.     subl a6@(-40),d4
  114.     movel a6,a4
  115.     moveq #3,d1
  116.     cmpl d3,d1
  117.     jeq L178
  118.     cmpl #9999,a6@(-16)
  119.     jeq L178
  120.     movel a6@(-16),d2
  121.     subql #1,d2
  122.     cmpb #103,d5
  123.     jeq L181
  124.     cmpb #70,d5
  125.     jne L180
  126. L181:
  127.     moveq #-4,d1
  128.     cmpl d2,d1
  129.     jge L180
  130.     cmpl d2,d6
  131.     jgt L178
  132. L180:
  133.     tstl d2
  134.     jlt L182
  135.     moveb #43,d5
  136.     jra L184
  137. L182:
  138.     moveb #45,d5
  139.     negl d2
  140. L184:
  141.     pea 10:w
  142.     movel d2,sp@-
  143.     jbsr ___modsi3
  144.     addqw #8,sp
  145.     addb #48,d0
  146.     moveb d0,a4@-
  147.     pea 10:w
  148.     movel d2,sp@-
  149.     jbsr ___divsi3
  150.     addqw #8,sp
  151.     movel d0,d2
  152.     moveq #9,d1
  153.     cmpl d2,d1
  154.     jlt L184
  155.     addb #48,d2
  156.     moveb d2,a4@-
  157.     moveb d5,a4@-
  158.     moveb d7,a4@-
  159. L178:
  160.     movel a6,d5
  161.     subl a4,d5
  162.     moveq #1,d1
  163.     cmpl d3,d1
  164.     jne L187
  165.     movel d3,d6
  166. L187:
  167.     tstl d5
  168.     jeq L188
  169.     moveq #1,d1
  170.     movel d1,a6@(-16)
  171. L188:
  172.     cmpl #9999,a6@(-16)
  173.     jne L189
  174.     movel d4,a6@(-16)
  175.     moveq #0,d6
  176.     clrl a6@(-36)
  177. L189:
  178.     cmpw #0,a3
  179.     jne L190
  180.     movel d4,d0
  181.     subl a6@(-16),d0
  182.     movel d6,a3
  183.     subl d0,a3
  184.     jra L191
  185. L190:
  186.     subl a3,a3
  187. L191:
  188.     cmpw #0,a3
  189.     jge L192
  190.     subl a3,a3
  191. L192:
  192.     cmpw #0,a3
  193.     jne L194
  194.     cmpl a6@(-16),d4
  195.     jle L193
  196. L194:
  197.     moveq #1,d1
  198.     movel d1,a6@(-36)
  199. L193:
  200.     tstb a6@(-25)
  201.     jne L195
  202.     tstl a6@(-20)
  203.     sne d0
  204.     extw d0
  205.     moveq #45,d2
  206.     andl d0,d2
  207.     jra L198
  208. L195:
  209.     cmpb #43,a6@(-25)
  210.     jne L199
  211.     moveq #43,d2
  212.     tstl a6@(-20)
  213.     jeq L198
  214.     moveq #45,d2
  215.     jra L325
  216. L199:
  217.     moveq #32,d2
  218.     tstl a6@(-20)
  219.     jeq L198
  220.     moveq #45,d2
  221. L198:
  222.     tstl d2
  223.     jeq L205
  224. L325:
  225.     lea a3@(1,d5:l),a5
  226.     movel a5,d0
  227.     jra L327
  228. L205:
  229.     movel a3,d0
  230.     addl d5,d0
  231. L327:
  232.     addl a6@(-36),d0
  233.     addl d4,d0
  234.     tstl a6@(-16)
  235.     jgt L207
  236.     addql #1,d0
  237.     subl a6@(-16),d0
  238. L207:
  239.     moveq #0,d3
  240.     cmpl a6@(24),d0
  241.     jge L209
  242.     movel a6@(24),d3
  243.     subl d0,d3
  244. L209:
  245.     tstl d3
  246.     jle L211
  247.     moveq #2,d1
  248.     cmpl a6@(-32),d1
  249.     jeq L211
  250.     moveq #8,d1
  251.     cmpl a6@(-32),d1
  252.     jeq L211
  253.     movel d3,sp@-
  254.     moveb a6@(-27),d0
  255.     extw d0
  256.     movew d0,a5
  257.     movel a5,sp@-
  258.     movel a2,sp@-
  259.     jbsr _padn__9streambufci
  260.     addw #12,sp
  261.     tstl d0
  262.     jlt L216
  263. L211:
  264.     tstl d2
  265.     jeq L217
  266.     btst #4,a2@(2)
  267.     jne L224
  268.     moveq #10,d1
  269.     cmpl d2,d1
  270.     jeq L226
  271.     moveq #13,d1
  272.     cmpl d2,d1
  273.     jne L224
  274. L226:
  275.     moveq #13,d1
  276.     cmpl d2,d1
  277.     jeq L328
  278.     movel a2@(20),a5
  279.     cmpl a2@(24),a5
  280.     jcs L228
  281.     pea 13:w
  282.     movel a2,sp@-
  283.     jbsr ___overflow
  284.     addqw #8,sp
  285.     moveq #-1,d1
  286.     cmpl d0,d1
  287.     jne L224
  288.     jra L223
  289. L228:
  290.     movel a2@(20),a0
  291.     moveb #13,a0@
  292.     addql #1,a2@(20)
  293. L224:
  294.     movel a2@(20),a5
  295.     cmpl a2@(24),a5
  296.     jcs L231
  297.     movel d2,sp@-
  298.     movel a2,sp@-
  299.     jbsr ___overflow
  300.     addqw #8,sp
  301.     jra L223
  302. L231:
  303.     movel a2@(20),a0
  304.     moveb d2,a0@
  305.     addql #1,a2@(20)
  306. L328:
  307.     movel d2,d0
  308. L223:
  309.     tstl d0
  310.     jlt L216
  311. L217:
  312.     moveq #8,d1
  313.     cmpl a6@(-32),d1
  314.     jne L232
  315.     tstl d3
  316.     jle L232
  317.     movel d3,sp@-
  318.     moveb a6@(-27),d0
  319.     extw d0
  320.     movew d0,a5
  321.     movel a5,sp@-
  322.     movel a2,sp@-
  323.     jbsr _padn__9streambufci
  324.     addw #12,sp
  325.     tstl d0
  326.     jlt L216
  327. L232:
  328.     tstl a6@(-16)
  329.     jle L237
  330.     cmpl a6@(-16),d4
  331.     jlt L238
  332.     movel a6@(-16),d2
  333.     movel a2@(60),a1
  334.     movel d2,sp@-
  335.     movel a6@(-40),sp@-
  336.     movew a1@(88),a0
  337.     pea a0@(a2:l)
  338.     movel a1@(92),a0
  339.     jbsr a0@
  340.     addw #12,sp
  341.     cmpl d0,d2
  342.     jne L216
  343.     jra L243
  344. L238:
  345.     movel a2@(60),a0
  346.     movel d4,sp@-
  347.     movel a6@(-40),sp@-
  348.     movew a0@(88),a1
  349.     pea a1@(a2:l)
  350.     movel a0@(92),a0
  351.     jbsr a0@
  352.     addw #12,sp
  353.     cmpl d0,d4
  354.     jne L216
  355.     movel a6@(-16),d1
  356.     subl d4,d1
  357.     movel d1,sp@-
  358.     pea 48:w
  359.     movel a2,sp@-
  360.     jbsr _padn__9streambufci
  361.     addw #12,sp
  362.     tstl d0
  363.     jlt L216
  364. L243:
  365.     tstl a6@(-36)
  366.     jeq L272
  367.     movel a2@(20),a5
  368.     cmpl a2@(24),a5
  369.     jcs L266
  370.     pea 46:w
  371.     movel a2,sp@-
  372.     jbsr ___overflow
  373.     addqw #8,sp
  374.     jra L258
  375. L266:
  376.     movel a2@(20),a0
  377.     moveb #46,a0@
  378.     addql #1,a2@(20)
  379.     moveq #46,d0
  380. L258:
  381.     tstl d0
  382.     jlt L216
  383.     cmpl a6@(-16),d4
  384.     jle L272
  385.     movel d4,d2
  386.     subl a6@(-16),d2
  387.     movel a2@(60),a1
  388.     movel d2,sp@-
  389.     movel a6@(-40),d1
  390.     addl a6@(-16),d1
  391.     movel d1,sp@-
  392.     movew a1@(88),a0
  393.     pea a0@(a2:l)
  394.     movel a1@(92),a0
  395.     jbsr a0@
  396.     addw #12,sp
  397.     cmpl d0,d2
  398.     jne L216
  399.     jra L272
  400. L237:
  401.     movel a2@(20),a5
  402.     cmpl a2@(24),a5
  403.     jcs L286
  404.     pea 48:w
  405.     movel a2,sp@-
  406.     jbsr ___overflow
  407.     addqw #8,sp
  408.     jra L278
  409. L286:
  410.     movel a2@(20),a0
  411.     moveb #48,a0@
  412.     addql #1,a2@(20)
  413.     moveq #48,d0
  414. L278:
  415.     tstl d0
  416.     jlt L216
  417.     movel a2@(20),d1
  418.     cmpl a2@(24),d1
  419.     jcs L300
  420.     pea 46:w
  421.     movel a2,sp@-
  422.     jbsr ___overflow
  423.     addqw #8,sp
  424.     jra L292
  425. L300:
  426.     movel a2@(20),a0
  427.     moveb #46,a0@
  428.     addql #1,a2@(20)
  429.     moveq #46,d0
  430. L292:
  431.     tstl d0
  432.     jlt L216
  433.     movel a6@(-16),d1
  434.     negl d1
  435.     movel d1,sp@-
  436.     pea 48:w
  437.     movel a2,sp@-
  438.     jbsr _padn__9streambufci
  439.     addw #12,sp
  440.     tstl d0
  441.     jlt L216
  442.     movel a2@(60),a0
  443.     movel d4,sp@-
  444.     movel a6@(-40),sp@-
  445.     movew a0@(88),a1
  446.     pea a1@(a2:l)
  447.     movel a0@(92),a0
  448.     jbsr a0@
  449.     addw #12,sp
  450.     cmpl d0,d4
  451.     jne L216
  452. L272:
  453.     movel a3,sp@-
  454.     pea 48:w
  455.     movel a2,sp@-
  456.     lea _padn__9streambufci,a3
  457.     jbsr a3@
  458.     addw #12,sp
  459.     tstl d0
  460.     jlt L216
  461.     tstl d5
  462.     jeq L313
  463.     movel a2@(60),a0
  464.     movel d5,sp@-
  465.     movel a4,sp@-
  466.     movew a0@(88),a1
  467.     pea a1@(a2:l)
  468.     movel a0@(92),a0
  469.     jbsr a0@
  470.     addw #12,sp
  471.     cmpl d0,d5
  472.     jne L216
  473. L313:
  474.     moveq #2,d1
  475.     cmpl a6@(-32),d1
  476.     jne L318
  477.     tstl d3
  478.     jle L318
  479.     movel d3,sp@-
  480.     moveb a6@(-27),d0
  481.     extw d0
  482.     movew d0,a5
  483.     movel a5,sp@-
  484.     movel a2,sp@-
  485.     jbsr a3@
  486.     addw #12,sp
  487.     tstl d0
  488.     jlt L216
  489. L318:
  490.     moveq #0,d0
  491.     jra L324
  492. L216:
  493.     moveq #-1,d0
  494. L324:
  495.     moveml a6@(-80),#0x3cfc
  496.     unlk a6
  497.     rts
  498.